/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package gla.centralhotel.dao.interfaces;

import gla.centralhotel.exception.CollectionRetrieverException;
import gla.centralhotel.exception.IllegalPriceException;
import gla.centralhotel.model.Price;
import gla.centralhotel.model.Room;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author Rivo
 */
@Local
public interface IPriceDAO {

    void remove(Price price);

    Price find(Object id);

    List<Price> findAll();
    
    /**
     * Permet de recuperer une collection de manager d'hotel en passant en parametre
     * un room
     * @param room
     * @return
     * @throws gla.centralhotel.exception.CollectionRetrieverException
     */
    public ArrayList<Price> getAllPriceByRoom(Room room) throws CollectionRetrieverException;

    /**
     * Si un prix est affecté à une chambre sur une période, MAJ du prix
     * Sinon Ajouter prix
     * @param price
     * @return
     */
    public Price savePriceForRoom(Price price) throws IllegalPriceException;

}
